{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "bb479d52-a693-4344-89c6-4b84adb83e78",
   "metadata": {},
   "source": [
    "分类关系图（Categorical plots）"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "163da005-680e-4fb6-a619-2fd187b6b23c",
   "metadata": {},
   "source": [
    "在数据可视化中，分类关系图（Categorical plots）是一种非常有用的工具，用\n",
    "于展示数字变量和一个或多个分类变量之间的关系。 seaborn 提供了一系列\r\n",
    "函数来绘制分类关系图，包括 catplot （figure-level 函数）和多个 axes-leve \r\n",
    "函数（如 boxplot , violinplot , stripplot , swarmplot , boxenplot, \r\n",
    "pointplot , barplot , 和 countplot ）。这些图表可以进一步细分为类分布\r\n",
    "图、分类散点图和分类估计图。"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "4823669f-006c-48e6-89ad-3089b9556702",
   "metadata": {},
   "source": [
    "分类关系图概述"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "7629d0cb-c8c8-489e-89cd-000adf64cb28",
   "metadata": {},
   "source": [
    "1. 分类分布图（Categorical Distribution Plots）"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "67454909-b45d-4a05-bc52-b1d7650d4be2",
   "metadata": {},
   "source": [
    "用于展示不同类别之间的数值分布情况。"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "2e9b98b9-cbbd-4b48-8e76-feb02ec12f08",
   "metadata": {},
   "source": [
    "boxplot: 箱线图显示数据分布的中位数、四分位数及异常值。"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "e028f154-8b99-45af-9e7a-9529130b5249",
   "metadata": {},
   "source": [
    "violinplot: 小提琴图结合了箱线图和 KDE 图，展示数据分布形态。"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "d6c1587c-f526-426c-9604-9ec8cb61ff10",
   "metadata": {},
   "source": [
    "boxenplot: 增强版箱线图，适用于大数据集，展示更多分位数信息。"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "72a7ae18-f482-44f0-9445-8a0643d50f9a",
   "metadata": {},
   "source": [
    "2. 分类散点图（Categorical Scatter Plots）"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "0b958456-678b-48f6-955c-36a4babf5285",
   "metadata": {},
   "source": [
    "用于展示不同类别之间的数值分布，并通过散点显示数据点"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "39946515-1a46-4234-b89e-765b2dbc7273",
   "metadata": {},
   "source": [
    "stripplot: 简单的分类散点图，数据点按类别分布"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "c71bd179-0cd8-41c4-91db-1845111c9335",
   "metadata": {},
   "source": [
    "swarmplot: 类似 stripplot，但数据点避免重叠，更容易观察密度和分布"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "735b434a-5ece-454a-b067-f9ac1311d30e",
   "metadata": {},
   "source": [
    "3. 分类估计图（Categorical Estimate Plots） "
   ]
  },
  {
   "cell_type": "markdown",
   "id": "82a38bff-ae6a-44e8-91bf-875a0bd1e58f",
   "metadata": {},
   "source": [
    "用于展示不同类别的均值或其他估计值，并可附加置信区间"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "bab9bf2a-a2f1-4560-a6d5-21d7f62037db",
   "metadata": {},
   "source": [
    "pointplot: 点图显示不同类别的估计值（例如均值），并可添加置信区间。"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "c7a37db6-ac16-4e99-9f69-ecf92cb8ad7a",
   "metadata": {},
   "source": [
    "barplot: 柱状图显示不同类别的估计值及其置信区间。"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "fe1287c3-9269-4d58-9e63-60d71515a8eb",
   "metadata": {},
   "source": [
    "countplot: 计数图显示不同类别的观测频数。"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "9f18db33-b1c0-4f0a-9642-4dd2ffa171ac",
   "metadata": {},
   "source": [
    "catplot 函数"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "193fcbb7-039f-404b-8928-18ad59cae4d0",
   "metadata": {},
   "source": [
    "catplot 是一个 figure-level 函数，可以通过 kind 参数指定绘图类型，相当\n",
    "于其他 axes-level 函数的集合。使用 catplot 可以方便地创建不同类型的分\r\n",
    "关系图"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "id": "54ca0fc5-7d4a-446e-809e-a9a31a5a9fae",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>消费金额 ($)</th>\n",
       "      <th>小费金额 ($)</th>\n",
       "      <th>客人性别</th>\n",
       "      <th>是否吸烟</th>\n",
       "      <th>周几</th>\n",
       "      <th>就餐时间</th>\n",
       "      <th>一起就餐人数 (个)</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>16.99</td>\n",
       "      <td>1.01</td>\n",
       "      <td>Female</td>\n",
       "      <td>No</td>\n",
       "      <td>Sun</td>\n",
       "      <td>Dinner</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>10.34</td>\n",
       "      <td>1.66</td>\n",
       "      <td>Male</td>\n",
       "      <td>No</td>\n",
       "      <td>Sun</td>\n",
       "      <td>Dinner</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>21.01</td>\n",
       "      <td>3.50</td>\n",
       "      <td>Male</td>\n",
       "      <td>No</td>\n",
       "      <td>Sun</td>\n",
       "      <td>Dinner</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>23.68</td>\n",
       "      <td>3.31</td>\n",
       "      <td>Male</td>\n",
       "      <td>No</td>\n",
       "      <td>Sun</td>\n",
       "      <td>Dinner</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>24.59</td>\n",
       "      <td>3.61</td>\n",
       "      <td>Female</td>\n",
       "      <td>No</td>\n",
       "      <td>Sun</td>\n",
       "      <td>Dinner</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>239</th>\n",
       "      <td>29.03</td>\n",
       "      <td>5.92</td>\n",
       "      <td>Male</td>\n",
       "      <td>No</td>\n",
       "      <td>Sat</td>\n",
       "      <td>Dinner</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>240</th>\n",
       "      <td>27.18</td>\n",
       "      <td>2.00</td>\n",
       "      <td>Female</td>\n",
       "      <td>Yes</td>\n",
       "      <td>Sat</td>\n",
       "      <td>Dinner</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>241</th>\n",
       "      <td>22.67</td>\n",
       "      <td>2.00</td>\n",
       "      <td>Male</td>\n",
       "      <td>Yes</td>\n",
       "      <td>Sat</td>\n",
       "      <td>Dinner</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>242</th>\n",
       "      <td>17.82</td>\n",
       "      <td>1.75</td>\n",
       "      <td>Male</td>\n",
       "      <td>No</td>\n",
       "      <td>Sat</td>\n",
       "      <td>Dinner</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>243</th>\n",
       "      <td>18.78</td>\n",
       "      <td>3.00</td>\n",
       "      <td>Female</td>\n",
       "      <td>No</td>\n",
       "      <td>Thur</td>\n",
       "      <td>Dinner</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>244 rows × 7 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "     消费金额 ($)  小费金额 ($)    客人性别 是否吸烟    周几    就餐时间  一起就餐人数 (个)\n",
       "0       16.99      1.01  Female   No   Sun  Dinner           2\n",
       "1       10.34      1.66    Male   No   Sun  Dinner           3\n",
       "2       21.01      3.50    Male   No   Sun  Dinner           3\n",
       "3       23.68      3.31    Male   No   Sun  Dinner           2\n",
       "4       24.59      3.61  Female   No   Sun  Dinner           4\n",
       "..        ...       ...     ...  ...   ...     ...         ...\n",
       "239     29.03      5.92    Male   No   Sat  Dinner           3\n",
       "240     27.18      2.00  Female  Yes   Sat  Dinner           2\n",
       "241     22.67      2.00    Male  Yes   Sat  Dinner           2\n",
       "242     17.82      1.75    Male   No   Sat  Dinner           2\n",
       "243     18.78      3.00  Female   No  Thur  Dinner           2\n",
       "\n",
       "[244 rows x 7 columns]"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import seaborn as sns\n",
    "import matplotlib.pyplot as plt\n",
    "import pandas as pd\n",
    "'''\n",
    "# 加载示例数据集 数据集和该文件在同一级文件夹\n",
    "tips = sns.load_dataset(\"tips\")\n",
    "'''\n",
    "tips = pd.read_csv('./seaborn数据集/tips.csv')\n",
    "tips"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "5c786e1a-ff56-473f-a9c5-c52ea270cf75",
   "metadata": {},
   "outputs": [
    {
     "ename": "URLError",
     "evalue": "<urlopen error [Errno 11004] getaddrinfo failed>",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[1;31mgaierror\u001b[0m                                  Traceback (most recent call last)",
      "File \u001b[1;32mD:\\anaconda3\\Lib\\urllib\\request.py:1344\u001b[0m, in \u001b[0;36mAbstractHTTPHandler.do_open\u001b[1;34m(self, http_class, req, **http_conn_args)\u001b[0m\n\u001b[0;32m   1343\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[1;32m-> 1344\u001b[0m     h\u001b[38;5;241m.\u001b[39mrequest(req\u001b[38;5;241m.\u001b[39mget_method(), req\u001b[38;5;241m.\u001b[39mselector, req\u001b[38;5;241m.\u001b[39mdata, headers,\n\u001b[0;32m   1345\u001b[0m               encode_chunked\u001b[38;5;241m=\u001b[39mreq\u001b[38;5;241m.\u001b[39mhas_header(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mTransfer-encoding\u001b[39m\u001b[38;5;124m'\u001b[39m))\n\u001b[0;32m   1346\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mOSError\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m err: \u001b[38;5;66;03m# timeout error\u001b[39;00m\n",
      "File \u001b[1;32mD:\\anaconda3\\Lib\\http\\client.py:1336\u001b[0m, in \u001b[0;36mHTTPConnection.request\u001b[1;34m(self, method, url, body, headers, encode_chunked)\u001b[0m\n\u001b[0;32m   1335\u001b[0m \u001b[38;5;250m\u001b[39m\u001b[38;5;124;03m\"\"\"Send a complete request to the server.\"\"\"\u001b[39;00m\n\u001b[1;32m-> 1336\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_send_request(method, url, body, headers, encode_chunked)\n",
      "File \u001b[1;32mD:\\anaconda3\\Lib\\http\\client.py:1382\u001b[0m, in \u001b[0;36mHTTPConnection._send_request\u001b[1;34m(self, method, url, body, headers, encode_chunked)\u001b[0m\n\u001b[0;32m   1381\u001b[0m     body \u001b[38;5;241m=\u001b[39m _encode(body, \u001b[38;5;124m'\u001b[39m\u001b[38;5;124mbody\u001b[39m\u001b[38;5;124m'\u001b[39m)\n\u001b[1;32m-> 1382\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mendheaders(body, encode_chunked\u001b[38;5;241m=\u001b[39mencode_chunked)\n",
      "File \u001b[1;32mD:\\anaconda3\\Lib\\http\\client.py:1331\u001b[0m, in \u001b[0;36mHTTPConnection.endheaders\u001b[1;34m(self, message_body, encode_chunked)\u001b[0m\n\u001b[0;32m   1330\u001b[0m     \u001b[38;5;28;01mraise\u001b[39;00m CannotSendHeader()\n\u001b[1;32m-> 1331\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_send_output(message_body, encode_chunked\u001b[38;5;241m=\u001b[39mencode_chunked)\n",
      "File \u001b[1;32mD:\\anaconda3\\Lib\\http\\client.py:1091\u001b[0m, in \u001b[0;36mHTTPConnection._send_output\u001b[1;34m(self, message_body, encode_chunked)\u001b[0m\n\u001b[0;32m   1090\u001b[0m \u001b[38;5;28;01mdel\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_buffer[:]\n\u001b[1;32m-> 1091\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39msend(msg)\n\u001b[0;32m   1093\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m message_body \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[0;32m   1094\u001b[0m \n\u001b[0;32m   1095\u001b[0m     \u001b[38;5;66;03m# create a consistent interface to message_body\u001b[39;00m\n",
      "File \u001b[1;32mD:\\anaconda3\\Lib\\http\\client.py:1035\u001b[0m, in \u001b[0;36mHTTPConnection.send\u001b[1;34m(self, data)\u001b[0m\n\u001b[0;32m   1034\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mauto_open:\n\u001b[1;32m-> 1035\u001b[0m     \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mconnect()\n\u001b[0;32m   1036\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n",
      "File \u001b[1;32mD:\\anaconda3\\Lib\\http\\client.py:1470\u001b[0m, in \u001b[0;36mHTTPSConnection.connect\u001b[1;34m(self)\u001b[0m\n\u001b[0;32m   1468\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mConnect to a host on a given (SSL) port.\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m-> 1470\u001b[0m \u001b[38;5;28msuper\u001b[39m()\u001b[38;5;241m.\u001b[39mconnect()\n\u001b[0;32m   1472\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_tunnel_host:\n",
      "File \u001b[1;32mD:\\anaconda3\\Lib\\http\\client.py:1001\u001b[0m, in \u001b[0;36mHTTPConnection.connect\u001b[1;34m(self)\u001b[0m\n\u001b[0;32m   1000\u001b[0m sys\u001b[38;5;241m.\u001b[39maudit(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mhttp.client.connect\u001b[39m\u001b[38;5;124m\"\u001b[39m, \u001b[38;5;28mself\u001b[39m, \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mhost, \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mport)\n\u001b[1;32m-> 1001\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39msock \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_create_connection(\n\u001b[0;32m   1002\u001b[0m     (\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mhost,\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mport), \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mtimeout, \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39msource_address)\n\u001b[0;32m   1003\u001b[0m \u001b[38;5;66;03m# Might fail in OSs that don't implement TCP_NODELAY\u001b[39;00m\n",
      "File \u001b[1;32mD:\\anaconda3\\Lib\\socket.py:829\u001b[0m, in \u001b[0;36mcreate_connection\u001b[1;34m(address, timeout, source_address, all_errors)\u001b[0m\n\u001b[0;32m    828\u001b[0m exceptions \u001b[38;5;241m=\u001b[39m []\n\u001b[1;32m--> 829\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m res \u001b[38;5;129;01min\u001b[39;00m getaddrinfo(host, port, \u001b[38;5;241m0\u001b[39m, SOCK_STREAM):\n\u001b[0;32m    830\u001b[0m     af, socktype, proto, canonname, sa \u001b[38;5;241m=\u001b[39m res\n",
      "File \u001b[1;32mD:\\anaconda3\\Lib\\socket.py:964\u001b[0m, in \u001b[0;36mgetaddrinfo\u001b[1;34m(host, port, family, type, proto, flags)\u001b[0m\n\u001b[0;32m    963\u001b[0m addrlist \u001b[38;5;241m=\u001b[39m []\n\u001b[1;32m--> 964\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m res \u001b[38;5;129;01min\u001b[39;00m _socket\u001b[38;5;241m.\u001b[39mgetaddrinfo(host, port, family, \u001b[38;5;28mtype\u001b[39m, proto, flags):\n\u001b[0;32m    965\u001b[0m     af, socktype, proto, canonname, sa \u001b[38;5;241m=\u001b[39m res\n",
      "\u001b[1;31mgaierror\u001b[0m: [Errno 11004] getaddrinfo failed",
      "\nDuring handling of the above exception, another exception occurred:\n",
      "\u001b[1;31mURLError\u001b[0m                                  Traceback (most recent call last)",
      "Cell \u001b[1;32mIn[13], line 5\u001b[0m\n\u001b[0;32m      3\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mpandas\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m \u001b[38;5;21;01mpd\u001b[39;00m\n\u001b[0;32m      4\u001b[0m \u001b[38;5;66;03m# 加载示例数据集 数据集和该文件在同一级文件夹\u001b[39;00m\n\u001b[1;32m----> 5\u001b[0m tips \u001b[38;5;241m=\u001b[39m sns\u001b[38;5;241m.\u001b[39mload_dataset(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mtips\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n\u001b[0;32m      6\u001b[0m \u001b[38;5;66;03m# 使用catplot绘制不同类型的分类关系图\u001b[39;00m\n\u001b[0;32m      7\u001b[0m sns\u001b[38;5;241m.\u001b[39mcatplot(x\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mday\u001b[39m\u001b[38;5;124m\"\u001b[39m,y\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mtotal_bill\u001b[39m\u001b[38;5;124m\"\u001b[39m,kind\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mbox\u001b[39m\u001b[38;5;124m\"\u001b[39m,data\u001b[38;5;241m=\u001b[39mtips)\n",
      "File \u001b[1;32mD:\\anaconda3\\Lib\\site-packages\\seaborn\\utils.py:572\u001b[0m, in \u001b[0;36mload_dataset\u001b[1;34m(name, cache, data_home, **kws)\u001b[0m\n\u001b[0;32m    570\u001b[0m cache_path \u001b[38;5;241m=\u001b[39m os\u001b[38;5;241m.\u001b[39mpath\u001b[38;5;241m.\u001b[39mjoin(get_data_home(data_home), os\u001b[38;5;241m.\u001b[39mpath\u001b[38;5;241m.\u001b[39mbasename(url))\n\u001b[0;32m    571\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m os\u001b[38;5;241m.\u001b[39mpath\u001b[38;5;241m.\u001b[39mexists(cache_path):\n\u001b[1;32m--> 572\u001b[0m     \u001b[38;5;28;01mif\u001b[39;00m name \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;129;01min\u001b[39;00m get_dataset_names():\n\u001b[0;32m    573\u001b[0m         \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(\u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;132;01m{\u001b[39;00mname\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124m is not one of the example datasets.\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n\u001b[0;32m    574\u001b[0m     urlretrieve(url, cache_path)\n",
      "File \u001b[1;32mD:\\anaconda3\\Lib\\site-packages\\seaborn\\utils.py:499\u001b[0m, in \u001b[0;36mget_dataset_names\u001b[1;34m()\u001b[0m\n\u001b[0;32m    493\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mget_dataset_names\u001b[39m():\n\u001b[0;32m    494\u001b[0m \u001b[38;5;250m    \u001b[39m\u001b[38;5;124;03m\"\"\"Report available example datasets, useful for reporting issues.\u001b[39;00m\n\u001b[0;32m    495\u001b[0m \n\u001b[0;32m    496\u001b[0m \u001b[38;5;124;03m    Requires an internet connection.\u001b[39;00m\n\u001b[0;32m    497\u001b[0m \n\u001b[0;32m    498\u001b[0m \u001b[38;5;124;03m    \"\"\"\u001b[39;00m\n\u001b[1;32m--> 499\u001b[0m     \u001b[38;5;28;01mwith\u001b[39;00m urlopen(DATASET_NAMES_URL) \u001b[38;5;28;01mas\u001b[39;00m resp:\n\u001b[0;32m    500\u001b[0m         txt \u001b[38;5;241m=\u001b[39m resp\u001b[38;5;241m.\u001b[39mread()\n\u001b[0;32m    502\u001b[0m     dataset_names \u001b[38;5;241m=\u001b[39m [name\u001b[38;5;241m.\u001b[39mstrip() \u001b[38;5;28;01mfor\u001b[39;00m name \u001b[38;5;129;01min\u001b[39;00m txt\u001b[38;5;241m.\u001b[39mdecode()\u001b[38;5;241m.\u001b[39msplit(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;130;01m\\n\u001b[39;00m\u001b[38;5;124m\"\u001b[39m)]\n",
      "File \u001b[1;32mD:\\anaconda3\\Lib\\urllib\\request.py:215\u001b[0m, in \u001b[0;36murlopen\u001b[1;34m(url, data, timeout, cafile, capath, cadefault, context)\u001b[0m\n\u001b[0;32m    213\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m    214\u001b[0m     opener \u001b[38;5;241m=\u001b[39m _opener\n\u001b[1;32m--> 215\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m opener\u001b[38;5;241m.\u001b[39mopen(url, data, timeout)\n",
      "File \u001b[1;32mD:\\anaconda3\\Lib\\urllib\\request.py:515\u001b[0m, in \u001b[0;36mOpenerDirector.open\u001b[1;34m(self, fullurl, data, timeout)\u001b[0m\n\u001b[0;32m    512\u001b[0m     req \u001b[38;5;241m=\u001b[39m meth(req)\n\u001b[0;32m    514\u001b[0m sys\u001b[38;5;241m.\u001b[39maudit(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124murllib.Request\u001b[39m\u001b[38;5;124m'\u001b[39m, req\u001b[38;5;241m.\u001b[39mfull_url, req\u001b[38;5;241m.\u001b[39mdata, req\u001b[38;5;241m.\u001b[39mheaders, req\u001b[38;5;241m.\u001b[39mget_method())\n\u001b[1;32m--> 515\u001b[0m response \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_open(req, data)\n\u001b[0;32m    517\u001b[0m \u001b[38;5;66;03m# post-process response\u001b[39;00m\n\u001b[0;32m    518\u001b[0m meth_name \u001b[38;5;241m=\u001b[39m protocol\u001b[38;5;241m+\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m_response\u001b[39m\u001b[38;5;124m\"\u001b[39m\n",
      "File \u001b[1;32mD:\\anaconda3\\Lib\\urllib\\request.py:532\u001b[0m, in \u001b[0;36mOpenerDirector._open\u001b[1;34m(self, req, data)\u001b[0m\n\u001b[0;32m    529\u001b[0m     \u001b[38;5;28;01mreturn\u001b[39;00m result\n\u001b[0;32m    531\u001b[0m protocol \u001b[38;5;241m=\u001b[39m req\u001b[38;5;241m.\u001b[39mtype\n\u001b[1;32m--> 532\u001b[0m result \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_call_chain(\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mhandle_open, protocol, protocol \u001b[38;5;241m+\u001b[39m\n\u001b[0;32m    533\u001b[0m                           \u001b[38;5;124m'\u001b[39m\u001b[38;5;124m_open\u001b[39m\u001b[38;5;124m'\u001b[39m, req)\n\u001b[0;32m    534\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m result:\n\u001b[0;32m    535\u001b[0m     \u001b[38;5;28;01mreturn\u001b[39;00m result\n",
      "File \u001b[1;32mD:\\anaconda3\\Lib\\urllib\\request.py:492\u001b[0m, in \u001b[0;36mOpenerDirector._call_chain\u001b[1;34m(self, chain, kind, meth_name, *args)\u001b[0m\n\u001b[0;32m    490\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m handler \u001b[38;5;129;01min\u001b[39;00m handlers:\n\u001b[0;32m    491\u001b[0m     func \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mgetattr\u001b[39m(handler, meth_name)\n\u001b[1;32m--> 492\u001b[0m     result \u001b[38;5;241m=\u001b[39m func(\u001b[38;5;241m*\u001b[39margs)\n\u001b[0;32m    493\u001b[0m     \u001b[38;5;28;01mif\u001b[39;00m result \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[0;32m    494\u001b[0m         \u001b[38;5;28;01mreturn\u001b[39;00m result\n",
      "File \u001b[1;32mD:\\anaconda3\\Lib\\urllib\\request.py:1392\u001b[0m, in \u001b[0;36mHTTPSHandler.https_open\u001b[1;34m(self, req)\u001b[0m\n\u001b[0;32m   1391\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mhttps_open\u001b[39m(\u001b[38;5;28mself\u001b[39m, req):\n\u001b[1;32m-> 1392\u001b[0m     \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mdo_open(http\u001b[38;5;241m.\u001b[39mclient\u001b[38;5;241m.\u001b[39mHTTPSConnection, req,\n\u001b[0;32m   1393\u001b[0m                         context\u001b[38;5;241m=\u001b[39m\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_context)\n",
      "File \u001b[1;32mD:\\anaconda3\\Lib\\urllib\\request.py:1347\u001b[0m, in \u001b[0;36mAbstractHTTPHandler.do_open\u001b[1;34m(self, http_class, req, **http_conn_args)\u001b[0m\n\u001b[0;32m   1344\u001b[0m         h\u001b[38;5;241m.\u001b[39mrequest(req\u001b[38;5;241m.\u001b[39mget_method(), req\u001b[38;5;241m.\u001b[39mselector, req\u001b[38;5;241m.\u001b[39mdata, headers,\n\u001b[0;32m   1345\u001b[0m                   encode_chunked\u001b[38;5;241m=\u001b[39mreq\u001b[38;5;241m.\u001b[39mhas_header(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mTransfer-encoding\u001b[39m\u001b[38;5;124m'\u001b[39m))\n\u001b[0;32m   1346\u001b[0m     \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mOSError\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m err: \u001b[38;5;66;03m# timeout error\u001b[39;00m\n\u001b[1;32m-> 1347\u001b[0m         \u001b[38;5;28;01mraise\u001b[39;00m URLError(err)\n\u001b[0;32m   1348\u001b[0m     r \u001b[38;5;241m=\u001b[39m h\u001b[38;5;241m.\u001b[39mgetresponse()\n\u001b[0;32m   1349\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m:\n",
      "\u001b[1;31mURLError\u001b[0m: <urlopen error [Errno 11004] getaddrinfo failed>"
     ]
    }
   ],
   "source": [
    "import seaborn as sns\n",
    "import matplotlib.pyplot as plt\n",
    "import pandas as pd\n",
    "# 加载示例数据集 数据集和该文件在同一级文件夹\n",
    "tips = sns.load_dataset(\"tips\")\n",
    "# 使用catplot绘制不同类型的分类关系图\n",
    "sns.catplot(x=\"day\",y=\"total_bill\",kind=\"box\",data=tips)\n",
    "plt.title(\"Boxplot example\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "id": "218094a7-154c-4f7b-8492-c4feaf268c40",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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PXq02WXUWGpqquLj480uAx6oxvPZN2vWTHfeeedVveiHH36ojIwMJScnny/i/yfYueGGG/Tyyy87t8vNzZXD4VBoaOhVvR4Aa4mKilJqamqtH3f//v2aMWOGJk+erOjo6Fo/PoONwSw1DvvacMMNN2jQoEFq3bq1+vfvrylTpujuu+/WgAED9Otf/1pLly5VYmKiZs+erX79+jHePoAq/Pz83NpCjo6OpgUOS3G5n31tatGihd5++23Nnz9f7dq1U3l5uf7xj3/Ix8dHqampeuSRR9S8eXO98847mj17thklAgBgGaa07CXpnnvuuWS3ukGDBmnv3r3KzMxUjx491LRpUxOqAwDAOkwL+ysJDw9XeHi42WUAAGoJPSjMVSfDHgBgLfSgMBdhDwBwO3pQmIuwBwC4HT0ozGXK3fgAAODaIewBALC4asP+7Nmzevzxx53Py8vLVVFRodOnTzsfZWVlMgxDeXl5Wrt2rTvrBQAANVRt2Ht5eem9995zPh8wYIAiIiIUFxen2NhYxcbG6sYbb9TGjRt1zz336N1333VrwQAAoGZcCvuKigplZmbq9OnTkqQ5c+Zo3bp12rJliw4cOKC8vDxt3LhRPXr00MKFC91eNAAAcJ1L1+xLSko0ZswYtWjRQp988olsNpumT5+um2++WcHBwbr11lsVERGhv//97+6uFwAA1JBLYd+8eXN99tlnKigoULdu3XT8+HHNmTNHn3/+ubZv365JkyZp3bp1+vnPf66zZ8+6u2YAAFAD1fazP336tCoqKpzPmzVrppSUFOfpesMwdPr0aS1btkzp6ekaO3asXnrpJfdVDAAAaqTasPf19VVWVpZmz56t4uJivf322851hmEoJSVFjz32mCSpR48euu2221RSUqKgoCD3VQ0AAFzm0gh6ISEhWrZsmf7whz9IkhISEpSSkqJNmzZp2bJl2rBhg/z9/WUYhpo2bUrQAwBQh1R7zb64uFibNm1ScXGxHnroIUnSzp07dd999+npp5/WCy+8oO3btyshIUEbN27UsGHD3F40AABwXbVhP336dA0YMEDHjh3Tp59+qhUrVqhFixZ6/PHHdfz4cTVt2lShoaF6+OGHFRwc7PxBAAAA6oZqw37KlCk6ceKEYmNjdfjwYY0ePVonT57U1q1bNW/ePP3617/W4cOHNXPmTB07dkyzZs26FnUD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",
      "text/plain": [
       "<Figure size 511.111x500 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import seaborn as sns\n",
    "import matplotlib.pyplot as plt\n",
    "import pandas as pd\n",
    "plt.rcParams['font.sans-serif'] = 'SimHei'\n",
    "# 使用catplot绘制不同类型的分类关系图\n",
    "sns.catplot(x=\"周几\",y=\"消费金额 ($)\",kind=\"box\",data=tips)\n",
    "plt.title(\"Boxplot example\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "6b3c8680-64d8-4e70-9b6a-04f5de958b33",
   "metadata": {},
   "source": [
    "各种分类关系图及其使用场景"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "aaab96dd-4835-4e11-9c0c-7feca37670f2",
   "metadata": {},
   "source": [
    "1. boxplot（箱线图）\r\n",
    "用途: 展示数据分布的中位数、四分位数及异常值。\r\n",
    "场景: 比较不同类别的数值分布，识别异常值。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "id": "c2f6ab2d-9953-4b70-9d6e-c72b2c0a61ab",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAi4AAAGtCAYAAAAxhv80AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAAAyNklEQVR4nO3dfVhUdd7H8c/MIBA+IGwqiIDgU6VRZpZY+ZCWrWZa2VZS3uq6mlprWdybSYuYj5tZd61SaGkmVluZ5qZ5t5ayblhLuaJgWyqK+ZQCAYZAzHD/4Q0bCTIow5kz835dF1fNOWfOfLlONh/P+f2+P0tlZWWlAAAATMBqdAEAAADOIrgAAADTILgAAADTILgAAADTILgAAADTILgAAADTILgAAADT8DG6gMbmcDh09OhRtWzZUhaLxehyAACAEyorK1VcXKz27dvLaq37vorHBZejR48qPDzc6DIAAMAFOHz4sDp06FDnfo8LLi1btpR09hdv1aqVwdUAAABnFBUVKTw8vPp7vC4eF1yqHg+1atWK4AIAgMnUN8yDwbkAAMA0CC4AAMA0CC4AAMA0CC4AAMA0CC4AAMA0CC4AAMA0CC4AAMA0CC4AAMA0CC4AAMA0PK5zLuDp7Ha7MjMzlZ+fr+DgYMXExMhmsxldFgA0CYILYCJpaWlaunSpjh8/Xr0tJCREU6ZMUb9+/QysDACaBo+KAJNIS0tTYmKioqOjtWTJEm3cuFFLlixRdHS0EhMTlZaWZnSJAOBylsrKykqji2hMRUVFCgwMVGFhIYsswmPY7XbFxcUpOjpac+bMkdX6n79zOBwOJSQkKCcnR6tXr+axEQBTcvb7mzsugAlkZmbq+PHjiouLqxFaJMlqtSouLk7Hjh1TZmamQRUCQNMguAAmkJ+fL0mKioqqdX/V9qrjAMBTEVwAEwgODpYk5eTk1Lq/anvVcQDgqQwLLo888ogsFkv1T+fOnSVJe/bsUe/evRUUFKT4+Hh52BAc4ILExMQoJCREqampcjgcNfY5HA6lpqYqNDRUMTExBlUIAE3DsODy5Zdf6sMPP1RBQYEKCgq0c+dOlZWVafjw4erVq5cyMjKUnZ2tlStXGlUi4DZsNpumTJmi9PR0JSQkKCsrSyUlJcrKylJCQoLS09M1efJkBuYC8HiGzCqqqKhQcHCwjh49qhYtWlRvX7duncaPH6/vvvtOAQEB2rVrl6ZOnart27c7fW5mFcGT1dbHJTQ0VJMnT6aPCwBTc/b725AGdJmZmaqsrNTVV1+tI0eOqH///kpJSdGuXbvUp08fBQQESDp7ezw7O/u85yorK1NZWVn166KiIpfWDhipX79+uuGGG+icC8BrGfKoaO/everevbvefPNNZWdnq1mzZpo0aZKKiopqzJqwWCyy2WwqKCio81zz589XYGBg9U94eHhT/AqAYWw2m3r27KlBgwapZ8+ehBYAXsUtGtAdOnRI0dHR+v3vfy+LxaLFixdX7wsPD9eOHTsUFhZW63tru+MSHh7OoyIAAEzErR8V/VLr1q3lcDgUEhKiPXv21NhXXFwsX1/fOt/r5+cnPz8/V5cIAADcgCGPiqZPn66//OUv1a//+c9/ymq16sorr9SOHTuqtx88eFBlZWX0pgAAAJIMuuNy9dVXa+bMmQoJCVFFRYUeeeQRjR07VrfeeqsKCwu1atUqjRkzRgsWLNDgwYN5hg8AACQZFFzGjBmjvXv3asSIEWrZsqXuvPNOzZs3Tz4+PkpJSdHo0aMVHx8vu92ubdu2GVEiAABwQ24xOPeXjhw5ooyMDPXt21dt2rRp0Hvp4wIAgPmYanDuL4WFhdU5iwjwduXl5Vq/fr2OHj2q9u3ba8SIEecdwA4AnsQtgwsaxm6305DMS7z88st65513ZLfba2y755579NBDDxlYGQA0DYKLydXWAj4kJERTpkyhBbyHefnll/XWW28pKChIv/3tbxUbG6v09HS9+uqreuuttySJ8ALA47nlGJeL4U1jXNLS0pSYmKjY2FjFxcUpKipKOTk5Sk1NVXp6upKSkggvHqK8vFy//vWv1apVK73zzjvy8fnP3zkqKip0zz33qKioSJs2beKxEQBTcvb727DVoXFx7Ha7li5dqtjYWM2ZM0fdu3dXQECAunfvrjlz5ig2NlbJyck1HinAvNavXy+73a7f/va3NUKLJPn4+Gj8+PGy2+1av369QRUCQNMguJhUZmamjh8/rri4OFmtNS+j1WpVXFycjh07pszMTIMqRGM6evSoJCk2NrbW/VXbq44DAE9FcDGp/Px8SaqxKOXPVW2vOg7m1r59e0lSenp6rfurtlcdBwCeiuBiUlXLIOTk5NS6v2o7yyV4hhEjRshms+nVV19VRUVFjX0VFRV67bXXZLPZNGLECIMqBICmQXAxqZiYGIWEhCg1NVUOh6PGPofDodTUVIWGhiomJsagCtGYfH19dc8996igoED33HOPNmzYoFOnTmnDhg01tjMwF4CnY1aRiTGryPvU1sfFZrPRxwWA6Tn7/U1wMbna+riEhoZq8uTJhBYPRedcAJ6I4OIlwUWicy4AwPxMvVYRGsZms6lnz55GlwEAgMsxOBcAAJgGwQUAAJgGwQUAAJgGwQUAAJgGwQUAAJgGwQUAAJgGwQUAAJgGwQUAAJgGDeg8AJ1zAQDeguBicrWtVRQSEqIpU6awVhEAwOPwqMjEqlaHjo6O1pIlS7Rx40YtWbJE0dHRSkxMVFpamtElAgDQqFhk0aTsdrvi4uIUHR2tOXPmyGr9TwZ1OBxKSEhQTk6OVq9ezWMjAIDbc/b7mzsuJpWZmanjx48rLi6uRmiRJKvVqri4OB07dkyZmZkGVQgAQOMjuJhUfn6+JCkqKqrW/VXbq44DAMATEFxMKjg4WJKUk5NT6/6q7VXHAQDgCQguJhUTE6OQkBClpqbK4XDU2OdwOJSamqrQ0FDFxMQYVCFcxW63a+fOndqyZYt27twpu91udEkA0GSYDm1SNptNU6ZMUWJiohISEhQXF6eoqCjl5OQoNTVV6enpSkpKYmCuh2H6OwBvx6wik6vtiyw0NFSTJ0/mi8zDVE1/j42NrTOocs0BmJWz398EFw9A51zPx/R3AJ6O6dBexGazqWfPnho0aJB69uzJF5cHYvo7AJxFcAFMgOnvAHAWwQUwAaa/A8BZBBfABJj+DgBnEVwAE6ia/p6enq6EhARlZWWppKREWVlZSkhIUHp6uiZPnsz4Jg9E3x6gJmYVASbC9HfvQt8eeBOmQxNc4KGY/u4d6NsDb0NwIbgAMCn69sAb0ccFAEyKvj1A3QguAOBm6NsD1I3gAgBuhr49QN0ILgDgZujbA9SN4AIAboa+PUDdmFUEAG6Kvj3wJkyHJrgA8AD07YG3cPb726cJawIANJDNZlPPnj2NLgNwG4xxAQAApkFwAQAApsGjIgBwY4xxAWoiuACAm2J1aOBcPCoCADdUtTp0dHS0lixZoo0bN2rJkiWKjo5WYmKi0tLSjC4RMATToQHAzbA6NLwRq0MDgEmxOjRQN4ILALgZVocG6kZwAQA3w+rQQN0ILgDgZlgd2nvZ7Xbt3LlTW7Zs0c6dO2W3240uye0wHboJlJaWKjc31+gyGkVERIT8/f2NLgPwaFWrQycmJiohIUFxcXGKiopSTk6OUlNTlZ6erqSkJAbmehimvzvHLWYV3Xbbbbrvvvs0duxY7dmzR+PGjdO+ffs0YcIE/elPf5LFYnH6XO44q+ibb77RxIkTjS6jUaSkpKhr165GlwF4BVaH9h5V099jY2PrDKqefs1Nszp0amqqHnjgAa1YsUL333+/LrvsMg0ZMkTx8fH6/e9/r1GjRmncuHFOn88dg0tT3HE5dOiQ5s6dq5kzZyoyMtJln8MdF6Bp0TnX8zH9/SxTrA6dn5+vxx9/XN26dZMkbdq0SYWFhVq8eLECAgI0b948TZ06tUHBxR35+/s32V2KyMhI7ogAHoTVoT1f1fT3p59+us7p71OnTlVmZib/Lcjg4PL444/rzjvv1JkzZyRJu3btUp8+fRQQECDp7AC17Ozs856jrKxMZWVl1a+LiopcVzAAAI2M6e8NY9isok8//VRbtmzRwoULq7cVFRXVuHAWi0U2m00FBQV1nmf+/PkKDAys/gkPD3dp3QAANCamvzeMIcGltLRUkyZNUnJyco3nWD4+PvLz86txrL+/v0pKSuo814wZM1RYWFj9c/jwYZfVDQBAY2P6e8MYElyeeeYZ9e7dW8OGDauxPTg4WCdPnqyxrbi4WL6+vnWey8/PT61atarxAwCAWVRNf09PT1dCQoKysrJUUlKirKwsJSQkKD09XZMnT/bogbkNYcgYlzVr1ujkyZNq3bq1JKmkpER/+ctf1LFjR/3000/Vxx08eFBlZWXcHoOp0LcHQEP169dPSUlJWrp0qaZOnVq9PTQ01CumQjeEIcHl73//uyoqKqpfP/HEE+rTp4/Gjh2rK664QqtWrdKYMWO0YMECDR48mJQJU8nNzaVvD4AG69evn2644Qamv9fDkODSoUOHGq9btGihSy+9VJdeeqlSUlI0evRoxcfHy263a9u2bUaUCFywiIgIpaSkuPQzmrJvD4Cmw/T3+rlFy/+VK1dW//vIkSP17bffKiMjQ3379lWbNm2MKwy4APTtAQDXcYvg8kthYWEKCwszugwAAOBmWB0aAACYBsEFAACYBsEFAACYBsEFAACYBsEFAACYBsEFAACYBsEFAACYBsEFAACYBsEFAACYBsEFAACYBsEFAACYBsEFAACYBsEFAACYBsEFAACYBsEFAACYBsEFAACYBsEFAACYBsEFAACYBsEFAACYBsEFAACYBsEFAACYBsEFAACYBsEFAACYBsEFAACYho/RBQAA6ma325WZman8/HwFBwcrJiZGNpvN6LIAwxBcAMBNpaWlaenSpTp+/Hj1tpCQEE2ZMkX9+vUzsDLAODwqAgA3lJaWpsTEREVHR2vJkiXauHGjlixZoujoaCUmJiotLc3oEgFDEFwAwM3Y7XYtXbpUsbGxSkpKUnl5udLT01VeXq6kpCTFxsYqOTlZdrvd6FKBJsejIgBwM5mZmTp+/LiGDx+uBx988JxHRcOHD9dnn32mzMxM9ezZ08BKgaZHcAEAN5Ofny9JWr58uWJjY/X0008rKipKOTk5Sk1N1fLly2scB3gTHhUBgJtp3bq1JKlHjx6aM2eOunfvroCAAHXv3l1z5sxRjx49ahwHeBOCCwAAMA2CCwC4mR9++EGStHv3biUkJCgrK0slJSXKyspSQkKCdu/eXeM4wJswxgUA3ExwcLAk6Xe/+502bNigqVOnVu8LDQ3VhAkTtHz58urjAG9CcAEANxMTE6OQkBBlZWXpjTfe0J49e6o75/bo0UOJiYkKDQ1VTEyM0aUCTY5HRQDgZmw2m6ZMmaL09HQlJibK19dXsbGx8vX1VWJiotLT0zV58mRa/8MrcccFANxQv379lJSUpKVLl57zqCgpKYmW//BaBBcAcFP9+vXTDTfcwCKLwM8QXADAjdlsNrrjAj9DcAEAN2a327njAvwMwQUA3FRaWpqWLl16zlpFU6ZMYYwLvBazigDADaWlpSkxMVHR0dFasmSJNm7cqCVLlig6OlqJiYlKS0szukTAEAQXAHAzdrtdS5cuVWxsbK1rFcXGxio5OVl2u93oUoEmR3ABADeTmZmp48ePKy4uTlZrzf9NW61WxcXF6dixY8rMzDSoQsA4BBcAcDP5+fmSpKioqFr3V22vOg7wJgQXAHAzVWsQ5eTk1Lq/ajtrFcEbEVwAwM1UrVWUmpoqh8NRY5/D4VBqaiprFcFrNTi4OBwOHTx4UF988YWys7NVXFzsiroAwGv9fK2ihIQEZWVlqaSkRFlZWUpISGCtIng1p/u47Nu3T3PnztX27dsVFRWlSy+9VMXFxTp48KB+9atf6aGHHtJ9993nyloBwGuwVhFQO6eCy+zZs/X+++9r9uzZWrZsmXx8ar7twIEDeuaZZ5ScnKy3335bISEhLikWALwJaxUB56o3uMyfP1/fffed/vnPf54TWKpER0drxYoV2rBhg+6++25t375dFoul0YsFAG/DWkVATfUGl//+7/92Ot0PHz5cQ4cOJbQAAACXqDe4/Dy0HDhwQKdOndJ1110n6exA3b/+9a/Kz89X79691b17d25hAgAAl3F6VtFzzz2nHj16aM2aNZLOtqQePHiwxo4dq1deeUU33nijXnrpJZcVCgAAUO8dl9zcXOXk5GjevHmaM2eOevXqpbS0NL377rv66quvtGzZMrVt21ZfffWVZs2apauuukodO3ZUREREU9QPAAC8SL3BJScnR1u3blVpaalyc3N1+vRpZWZm6oMPPtDjjz+u7Oxs7d27V3l5eSopKdHWrVs1YMAAggsAAGh09QaX/v37q3///vr++++1efNmde/eXVu2bNGMGTOUlJSkI0eO6PXXX9c//vEPjRo1Sn/84x+bom4AAOCFnG5A99JLL+nNN99UVlaW7r//ft19992SpLy8PO3atUvjx4/XhAkTXFYoAACA08Glain1X4qJidHbb799QR+el5enf//73+ratasuvfTSCzoHAADwHvXOKvrTn/6k+fPnO3Wyr776Sr/+9a9VWVlZ77FvvfWWOnfurKlTpyoiIkJvvfWWJGnPnj3q3bu3goKCFB8f79S5AACAd6g3uDz66KP69ttvNWTIEO3Zs6fWY0pKSjR79myNHTtWixYtqrcB3Q8//KBHHnlEf//737Vz50698sor+sMf/qCysjINHz5cvXr1UkZGhrKzs7Vy5coL+sUAAIDnqfdRka+vr1577TVt2bJFU6ZM0enTp3Xttdeqbdu2Ki4u1v79+/XNN99ozJgx+uKLL+Tv71/vhxYXF+uFF15Qjx49JElXXXWVCgoKtGnTJhUWFmrx4sUKCAjQvHnzNHXqVI0bN+7if1MAAGB6To9xGTRokAYNGqTvv/9eu3fv1smTJ9WiRQtNmDBBV155ZYM+NDw8vHq8zE8//aRFixbprrvu0q5du9SnTx8FBARIOjt+Jjs7+7znKisrU1lZWfXroqKiBtUCAADMw+ngUqVt27YaNGhQo3z4rl27NHDgQPn6+urrr7/WM888o6ioqOr9FotFNptNBQUFCgoKqvUc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mkxRUZHCw8N1+PBhtWrVyuhy4GJcb+/C9fYu3nq9KysrVVxcrPbt28tqrXski8fdcbFarerQoYPRZRimVatWXvUfurfjensXrrd38cbrfb47LVUYnAsAAEyD4AIAAEyD4OIh/Pz8lJiYKD8/P6NLQRPgensXrrd34Xqfn8cNzgUAAJ6LOy4AAMA0CC4AAMA0CC4AAMA0CC4m8fnnn6tXr15q2bKlBg8erCNHjhhdElyI6+25Vq5cKYvFcs7P1q1b1bFjR6PLg4vVdf3/9re/1fte/hs5i+BiAiUlJRoxYoQefvhhZWdnq2XLlnr44YeNLgsucjHXu2PHjtq6datrC8RFGT16tAoKCpSWliZJKigoUEFBgSoqKgyuDE2lR48e1de96mfAgAH1vu/GG29UZmam6wt0cwQXE9i7d68KCgo0btw4hYeHKzEx0auWM/A2XG/P5uvrq9atW6tly5aSpNatW6t169by8fG4Ruaog81mq77uDbn+Pj4+XtdJtzYEFxMIDw+XxWLRrFmz9NNPP+nqq6/W2rVrtXLlyhop/eDBg9VfcFX7li1bpnbt2qlt27Z69913DfoN0BB1XW9JWrt2rbp27armzZtr4MCB1Y+QbrvtNlksFh06dEgDBw6UxWLRggULjPw1cIE++OADRUZGKigoSC+++KKk2h8RWCwWHTx4UJI0duxYzZo1S6tXr1a3bt305z//uYmrRmMYMGCAVq5cqcWLFysyMlIffPBBjf08KjqL4GICbdu21erVq/XCCy+oS5cuWrVqlVPvy8rK0nvvvaft27dr7Nixmj59uosrRWOo63rn5+fr/vvvV0JCgvbt26fg4GDNmTNHkvTee++poKBA4eHh2rBhgwoKCvTYY48Z+WvgAuTl5WnBggX68MMPlZSUpPj4eJ05c8ap927evFlLly7V4sWLNXLkSNcWiouye/fuGndbdu/eXb3vlVde0SeffKJly5apb9++Blbpvrg3aRKjRo3SLbfcoueff16TJk3Sv/71L8XExJz3PadPn9brr7+udu3aacKECXr22WebqFpcrNqu98KFC5Wbm6uWLVsqIyND5eXl+uabbyRJzZs3l3R2kdEWLVqodevWBlaPC3X69GklJyerR48e6tq1q6ZNm6bvv//eqfceOHBA33zzjVOL1MFY3bp108aNG6tft2/fvvrfT58+rbS0NDVr1syI0kyB4GICR48e1ZkzZ9SpUyfNmjVLAwYM0MCBAzVr1qwax5WUlNR4ffnll6tdu3aSzj5XhznUdb2nTZumWbNm6f3339cVV1yhwMBA2e12o8tFIwoKCtJVV10l6T9/Zmtrbv7LP+uSNGbMGEKLSfj6+tb5yOehhx4itNSDR0Um8Pbbb2vChAnVr/v161f9H/bPv7gyMjJqvI9BXOZU1/Vev369tm3bpu+++06fffaZhg8ffs57rVZrrV90MIe6/sxaLJbz/lmX/nPXDebGdawfwcUEBg8erM8++0xvvvmmjhw5olmzZik0NFR9+vRRVlaWCgoKdOLECS1atMjoUtEI6rreVfLz87Vp0yY988wz54SUzp0766OPPtKxY8e0ZcuWpi4dLtKhQwcdO3ZM+/fv148//njO3VbAmxBcTODKK6/UihUrlJiYqG7duunTTz/V+vXrdcstt+i2227TlVdeqeHDh1cP1IS51XW9x44dqy5duujyyy9XUlKSJk2apK+//lqlpaXV7120aJE++ugjRUVFKSkpycDfAo2pU6dOevTRR3XjjTfqxhtvVEJCgtElAYZhdWgAAGAa3HEBAACmQXABAACmQXABAACmQXABAACmQXABAACmQXABAACmQXABAACmwVpFAAx11VVXKS8vT/7+/nUec/DgQf3rX/9Sjx49qretWrVK//Vf/3XOsWvXrtWdd97pkloBGI/gAsBQ/v7+WrNmjfr16ydJev3112W1WvXggw9WHxMSEiI/P78a7/Pz81NMTIw+//zz6m2dO3dWy5Ytm6ZwAIYguAAwlI+PjywWi8rKymS1WrV//37ZbDY5HA7Z7fbqBUV/uWKu1WqVzWY7506Njw//WwM8GX/CARjKarXKarVq1KhR2rp1qyoqKmSxWPQ///M/uvnmm/Xuu+/W+V6LxdKElQJwBwQXAIZyOByyWCx655135OPjozlz5sjHx0czZ85URUWFKioqan2f3W6XzWZr4moBGI3gAsBQP/74o9LT03XrrbfKz8+v+i7K888/r/Lycj311FN1vo/xLID3YTo0AEPl5eVpxIgROn36tPLy8nTq1CmdOnVKeXl5Ki4u1owZM2p93/HjxxUeHt7E1QIwGsEFgGFKSkp09OhRhYaG6sknn1RQUJA6d+6szp07KygoSAkJCXW+NyMjQ926dWvCagG4A4ILAMNkZmaqXbt2at68ufz9/TVp0iTt27dP+/bt06RJk+qcIfTDDz9o8+bNGjZsWJ3nrqiokMPhcFXpAAxCcAFgmA0bNuj666+XJJ05c0bJycnq2LGjOnbsqOTkZJWXl9f6vueee05RUVGKiYmp89zZ2dnq27evTp065ZLaARiDwbkADFFUVKQVK1Zozpw5kqSFCxdq4cKFNY45deqU9u/frx9//LH67sunn36qhQsXavPmzeec08fHRxkZGerRo4c++ugjHThwQMHBwa7/ZQA0GYILAEOcPHlSERERuvfee+s8ZtiwYdq7d6/69++vsLAwffjhh7rrrrv02GOPaeDAgeccf//99+upp55SfHy8WrVqpcTERFmt3FgGPImlsrKy0ugiAHgnh8Nx3mBRUVFRY5zLTz/9pJUrV2rChAk0nwO8FMEFAACYBvdQAQCAaRBcAACAaRBcAACAaRBcAACAaRBcAACAaRBcAACAaRBcAACAaRBcAACAafwftBsTwoBduYMAAAAASUVORK5CYII=",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import seaborn as sns\n",
    "import matplotlib.pyplot as plt\n",
    "import pandas as pd\n",
    "plt.rcParams['font.sans-serif'] = 'SimHei'\n",
    "'''\n",
    "# 加载示例数据集 数据集和该文件在同一级文件夹\n",
    "tips = sns.load_dataset(\"tips\")\n",
    "'''\n",
    "sns.boxplot(x=\"周几\",y=\"消费金额 ($)\",data=tips)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "547b66ec-ad19-4b59-82a8-2e1cd4749f0d",
   "metadata": {},
   "source": [
    "2. violinplot（小提琴图）\n",
    "用途: 结合箱线图和 KDE 图，展示数据分布形态。\n",
    "场景: 需要了解数据分布的不同形态和密度时"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "id": "8f6d8658-5297-4ce1-a1e5-18c1918a4ae2",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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N+LLL7+kFfEw2rZtG9xuN7xJg5QOJUCv20VBF13cfvvteOCBBzB16lTk5OQELvd4PFi8eDFWrVqFb7/9lmYVNXO5XFi2fDlEo1WasqwTgiUJvtgMbN26leagdODjjz8GoM3VFpkc+4cffqjLUwmRtHfvXhw40LxtaI6PfACcAe60Eairq6PtvzCS57mpob5F5kscADCs7mbNdata9E9/+hPGjx+P5GSpZb0gCOjfvz/mzp2L9evXY8SIEWhsbAxLoFqzevVqOFU6VK+3aChfxyoqKvDjjz/Cb0lS1RTo7hItCfAmDcT+/fupgVkvvf/++wAAT59RisUgb/998MEHVJ8WBm63G7/8shGCKQ6CNUXpcFrwJvji++LAgQM4fvy40tGETLffUf/+979j06ZN+PDDD8GyLA4cOACDwQCWZSEIAi688MJwxKk5X3/9jWqH6vUWDeXr2EcffQRBEODpe6bqG851xdP3TADA//3f/ykciXbt27cPW7duhS8+E0JsumJxiEYrPGnDUVZWRqsuYZCbm4umJqe0TaSy33tv0mAA0NUcsm4nLsnJyXj77bcxffr0U++MZbFixYqQBKZlBw8elE6UqHWoXm+1Gsqnt73T3qiursYPP/wAwRwPX/IgpcPpNSEmFb6ETOzYsUO3rcPDSRRFvPXWWwAAd+YYhaMBPH1zAJbD0qXvUkO6EFuzZg0AwJc8WOFITuVLGggwbCBGPejRHsavf/1rJCQkhDoW3dBjUe7J5OPdVKTb4qOPPoLP54O7T45utgc9fc8CALz33nvKBqJBmzZtws6dO+FLzFJ0tUUmGmPgSRuB48craKxDCLlcLmzYsAGCKV5d20Qy3gRffCYOHDigm9NFQb+67t+/H0eOHMGRI0fw73//GwMGDMA//vGPU65XWloa0gC1prGxEatWrYJgioO/ebS8HonmePjiM7F7924UFRUpHY7iampq8M2330IwxcMXwgngSvPHZcAX3w9btmxBXl6e0uFohtfrxb///W+AYeHqf47S4QS4+50FkTdj6bvvor6+XulwdGHTpk1wuVzwpgxR3TaRzNu8ErR69WqFIwmNoBOXM888E+eccw6uvvpquN1u3H777acUZ+7ZswcjRoyI6kZHq1atkv4Tpw1X7X/iUJGPRlORrnT6xuvxwN3vTN2stsg8/c4CALz77rvKBqIhn3/+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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import seaborn as sns\n",
    "import matplotlib.pyplot as plt\n",
    "import pandas as pd\n",
    "plt.rcParams['font.sans-serif'] = 'SimHei'\n",
    "'''\n",
    "# 加载示例数据集 数据集和该文件在同一级文件夹\n",
    "tips = sns.load_dataset(\"tips\")\n",
    "'''\n",
    "sns.violinplot(x=\"周几\",y=\"消费金额 ($)\",data=tips)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "845f367c-e047-498b-8634-5694d3db23ed",
   "metadata": {},
   "source": [
    "3. boxenplot\r\n",
    "用途: 增强版箱线图，适用于大数据集。\r\n",
    "场景: 需要展示更多分位数信息的大数据集"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "id": "f9afbee0-7bdb-4690-8a45-092c2711ddb0",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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OiorK2E0GpGSkoKcnBykpqbi/PnzsNls2L9/v9wR3UqDJueKooh7770XAODt7Y2oqCgAwIwZMxAaGlrvtu+//75zExIREXmwvLw8CIKAqKgojB8/HjqdDmazGRs2bMChQ4eQm5srd0S30uAl/389EfeahIQEzmUhIiL6HSoqKiBJEh577DHodDoAgJ+fH8aMGQNRFGEymWRO6F4aNOLyww8/4LnnnsP69evRuXNnjBs3Dt7e3tddBgAAHn74YYwdO9bpQYmIiDyRn58fAODo0aP1lhM5efIk7HY7vL295Yrmlho04jJgwABMmTIF/fr1w8mTJ7Fp0ybExcVh9erViI2NRWxsLL799lvExMTgjTfecHVmIiIijxEaGgpRFLF582YsXLgQP/zwA5YvX47ly5fD29v7uikZTV2DiouPjw/efPNNHDhwAO3atUOzZs3w9ttvQxAEvP3223j77beh0WjwzjvvYNq0aTz3nIiIqIGSkpIgSRLi4uJgtVqRkpKC8vJydOjQAbW1tejRo4fcEd1Kgw4Vvf766/Dx8YEoijc8PPRrM2fOdEowIiKipqB58+YYO3Ysvv76a+h0OsTGxqKoqAgnTpzA/fff71ipnq5qUHE5evQovL29oVKpbltciIiI6M707NkTERER2L9/PwwGAyIjIzF27FiWlhtoUHHZvn07AMBms0GlUiEkJMSloYiIiO6GzWaDJElyx7grISEhGDVqVL1tVqtVpjS/nyAIUKlUTn/cBhUXAFi+fDn+/Oc/IzU1FTU1NViyZAkkScLSpUtht9sd2wBgypQpTg9KRER0KzabDcNHjECN2Sx3FALg6+eHzZs2Ob28NKi4/Pzzz3j11Vfxz3/+E61bt0bv3r3x/fffY+TIkdiwYQMA4P7778f69ethsVhYXIiIqNFJkoQasxmmbhMBocHLlJErSHbgyAqXjH41qLjcd999OH78uOOUrGuHjoiIiNyOIAIii4us7K576Aa/sj/++CPGjBkD4GqrvXbthOXLl2P+/Pm4fPmyaxISERER/VuDisvevXsxbdo0DB8+HADwxRdf4M0334TdbseFCxewatUqtGrVCuPHj8f69etdmZeIiIiasAYVl5YtW+LTTz/FlClTYLfb8d///d946623IIoi3nzzTRw+fBi7du2CyWTCJ5984uLIRERE1FQ1aI5LfHw84uPj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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import seaborn as sns\n",
    "import matplotlib.pyplot as plt\n",
    "import pandas as pd\n",
    "plt.rcParams['font.sans-serif'] = 'SimHei'\n",
    "'''\n",
    "# 加载示例数据集 数据集和该文件在同一级文件夹\n",
    "tips = sns.load_dataset(\"tips\")\n",
    "'''\n",
    "sns.boxenplot(x=\"周几\",y=\"消费金额 ($)\",data=tips)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "41878161-045b-41d7-8734-be345d53b666",
   "metadata": {},
   "source": [
    "4. stripplot（分类散点图）\r\n",
    "用途: 展示不同类别的数据点分布。\r\n",
    "场景: 简单展示数据点的分布情。\r"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "id": "646c3725-22de-49f9-9842-086d99fdad23",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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3/72tz00WuoqsfO9Zs0anDp1CjExMSguLkZLSwuOHTsGALjmmmsAtG8yGh0djfj4eAVHT511+fJlFBQUYMyYMRg5ciQeeughnDt3TtZzT548iWPHjsnapI6UNWrUKLz//vue3wcNGuT535cvX8bevXvRq1cvJYamCQxcNODMmTNobm5GWloali1bhsmTJyMnJwfLli3zelxTU5PX7xkZGUhMTATQvq5O2iB1vh966CEsW7YMf/nLX/Ctb30LcXFxcDgcSg+XulGfPn0wfvx4AFc/s2LNzX0/6wAwZ84cBi0aYbFYJJd8Fi5cyKAlCC4VacDbb7+N+fPne36/6aabPG/sjheu4uJir+cxiUubpM73tm3bsGfPHlRWVmLfvn2YMWOG33NNJpPohY60QeozKwhCwM86cHXWjbSN5zE4Bi4aMGXKFOzbtw9vvvkmqqqqsGzZMgwcOBDXXXcdSktLUVdXh7Nnz2Lt2rVKD5W6gdT5drt48SJ27NiBp556yi9ISU9Px86dO1FdXY2PPvqop4dOYTJkyBBUV1ejvLwc33zzjd9sK5GRMHDRgLFjx+Lll1/Gk08+iVGjRmHXrl3Ytm0bbrnlFkydOhVjx47FjBkzPImapG1S53vu3LkYMWIEMjIysHz5cixYsABHjx7FlStXPM9du3Ytdu7cidTUVCxfvlzBfwV1p7S0NCxatAg33HADbrjhBixdulTpIREphrtDExERkWZwxoWIiIg0g4ELERERaQYDFyIiItIMBi5ERESkGQxciIiISDMYuBAREZFmMHAhIiIizeBeRUSkqPHjx6O2thZRUVGSj6moqMCXX36JMWPGeI69+uqr+PGPf+z32C1btuDOO+8My1iJSHkMXIhIUVFRUXjjjTdw0003AQBeeeUVmEwm3HfffZ7HJCUlITIy0ut5kZGRGDduHD799FPPsfT0dMTExPTMwIlIEQxciEhREREREAQBdrsdJpMJ5eXlMJvNcDqdcDgcng1FfXfMNZlMMJvNfjM1ERH8WiPSM37CiUhRJpMJJpMJd911F3bv3o22tjYIgoDnnnsON998M9555x3J5wqC0IMjJSI1YOBCRIpyOp0QBAF/+tOfEBERgaeffhoRERF4/PHH0dbWhra2NtHnORwOmM3mHh4tESmNgQsRKeqbb77BJ598gltvvRWRkZGeWZRnn30WLS0teOyxxySfx3wWIuNhOTQRKaq2thYzZ87E5cuXUVtbiwsXLuDChQuora1FY2MjlixZIvq8mpoaJCcn9/BoiUhpDFyISDFNTU04c+YMBg4ciEcffRR9+vRBeno60tPT0adPHyxdulTyucXFxRg1alQPjpaI1ICBCxEp5uDBg0hMTMQ111yDqKgoLFiwACdOnMCJEyewYMECyQqhS5cuwWaz4bbbbpN87ba2NjidznANnYgUwsCFiBSzfft2XHvttQCA5uZmFBQUICUlBSkpKSgoKEBLS4vo85555hmkpqZi3Lhxkq9dVlaG7OxsXLhwISxjJyJlMDmXiBTR0NCAl19+GU8//TQAYM2aNVizZo3XYy5cuIDy8nJ88803ntmXXbt2Yc2aNbDZbH6vGRERgeLiYowZMwY7d+7EyZMnkZCQEP5/DBH1GAYuRKSI8+fPY+jQobjnnnskH3PbbbfhyJEjmDRpEgYPHoz33nsP3//+9/Hwww8jJyfH7/E/+tGP8Nhjj2Hx4sWIjY3Fk08+CZOJE8tEeiK4XC6X0oMgImNyOp0BA4u2tjavPJfW1lYUFhZi/vz5bD5HZFAMXIiIiEgzOIdKREREmsHAhYiIiDSDgQsRERFpBgMXIiIi0gwGLkRERKQZDFyIiIhIMxi4EBERkWYwcCEiIiLN+P+L0fW6EJrAMAAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import seaborn as sns\n",
    "import matplotlib.pyplot as plt\n",
    "import pandas as pd\n",
    "plt.rcParams['font.sans-serif'] = 'SimHei'\n",
    "'''\n",
    "# 加载示例数据集 数据集和该文件在同一级文件夹\n",
    "tips = sns.load_dataset(\"tips\")\n",
    "'''\n",
    "sns.stripplot(x=\"周几\",y=\"消费金额 ($)\",data=tips)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "4230cd1c-f52f-4c95-858d-d9d571abc99f",
   "metadata": {},
   "source": [
    "5. swarmplot（分类蜂群图）\r\n",
    "用途: 避免数据点重叠，展示数据密度和分布。\r\n",
    "场景: 更清晰地展示数据点密度和分布情况。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "id": "bbd09546-02d5-4199-befe-ec7a979ed7d1",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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wwPwDr+/3+NWDp0I/fv3V//+/ZM9DNfw89Ki11FVAvgH73d7klpVhM6jBby3UVUCzqbyD97v9hC4uJxZgyq4H31b/I0LE3/h/W6PZeBy6tQpzZ07t/Xn48eP67PPPlNjY2Prn08//VTBYFB79+7V+vXr4zledMDSove0vcJevqFSs8YUtOvbMmtsgR7eUMkVuA9wYeIv9GmyxzLHJSUlRX/605/085//XJJ01VVX6b333lNmZqZa8noDgYCeeOIJzZ49W5deeqkmTeLMlEShBby3hDtUc1tVbWtVgZ1DN+EdXJj4D32arFmuuKSkpOizzz5TWVmZGhsbJUn333+/SkpKVFpaqo8++kh79+7Vxo0bVVRUpMceeyzug8Y/sbToLVZX2FyB+ws5D0AoWzku9fX1mjlzpvr166c333xTgUBACxYs0Be+8AXl5OTooosu0llnnaXly5fHe7zogKVFb7G6wuYK3F+4MAFC2SqHzsvL05Ytp5enx44dq+rqat1///1avHixmpqatG3bNq1evVolJSV65plnWlv4IzFYWvQOTodGW1ZHfgB+ZNmArrGxUQMGDNCBAwckSddff722bNnSGpwEg0E1Njbqd7/7nV566SVVV1frkUceif/IDdCADm5WUn4w7Nk0LatoVvcDgFvFtHNuTU2NHnnkEdXV1WnhwoWttweDQa1YsUKzZ8+WJDU3N+uSSy7Rn//8Z2VlJecKkMAFbmd1Ng1n13gLDSTRlp9fDzFv+X/eeefprrvu0te//nVdeeWVWrFihV5//XWtXLlS/fr1a60y+uSTT/T888/H7B8SKQIXIJSfPwydzM7ZNMydf3BWkb3vb8vk3Lq6Or3++uuqq6vT17/+dUnStm3bdPXVV+uOO+7QL3/5S73zzju68sortXHjRk2bNi12/woAnUYTM+eyqhJj7vyFqkF7LAOXBQsW6KqrrtLhw4f11ltvac2aNerXr5/mzp2r6upq9e7dW7m5uZo6dapycnJagxskDi3BIRm/DvgwdC6rKjHmzl+oGrTHMnC58847dfToURUUFOjAgQP65je/qU8++URvvPGGli5dqv/6r//SgQMHtHDhQh0+fFiLFi1KxLjxf7gig2T+OuDD0Lms+rQwd/5C3x57LAOX7t27q0uXLpKkrVu36rnnnlP//v21f/9+3XLLLerevbvOPvtsnXnm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TEn5QS3fUKkdh45pWF43zR4/hLNNAPgGKy6Ai5SUH9TM327R1n21OnGySVv31WrW6i0qKT+Y7KEBQEIQuAAusnxDZchtwaC0fOOuJIwGABKPwAVwkR2HjoW9feeh+gSPBACSg8AFcJFhed3C3j40LyvBIwGA5CBwAVxk9vghCgTa3xYISMXjCpIzIABIMAIXwEUmjuyrldMKNTq/uzLTUzU6v7semVaoK6gqAuATlEMDLjNxZF/KnwH4FisuAADANQhcAACAaxC4AAAA1yBwAQAArkHgAgAAXIPABQAAuAaBCwAAcA0CFwAA4BoELgAAwDUIXAAAgGsQuAAAANfw3FlFwWBQklRXV5fkkQAAALtavrdbvseNeC5wqa+vlyTl5+cneSQAACBS9fX1ysnJMbw/ELQKbVymublZ+/fvV1ZWlgKBQLKHkzB1dXXKz8/XRx99pOzs7GQPB3HGfPsL8+0vfp3vYDCo+vp69evXTykpxpksnltxSUlJ0VlnnZXsYSRNdna2r17ofsd8+wvz7S9+nG+zlZYWJOcCAADXIHABAACuQeDiERkZGbr77ruVkZGR7KEgAZhvf2G+/YX5Nue55FwAAOBdrLgAAADXIHABAACuQeACAABcg8DFJd58800VFhYqKytLEyZMUFVVVbKHhDhivr1r1apVCgQCIX82btyogQMHJnt4iDOj+X/llVcsf5fXyGkELi5w/PhxTZkyRd/+9rdVUVGhrKwsffvb3072sBAnnZnvgQMHauPGjfEdIDrlxhtvVE1NjV5//XVJUk1NjWpqanTq1KkkjwyJcu6557bOe8ufcePGWf7epZdeqm3btsV/gA5H4OIC77//vmpqanTzzTcrPz9fd999t6+OM/Ab5tvb0tPT1b17d2VlZUmSunfvru7duystzXONzGEgNTW1dd4jmf+0tDTfddINh8DFBfLz8xUIBDR//nydPHlS559/vtasWaNVq1a1i9L37NnT+gXXct9jjz2mvLw89enTR3/4wx+S9C9AJIzmW5LWrFmjYcOG6cwzz9T48eNbt5AmTZqkQCCgf/zjHxo/frwCgYAWL16czH8GovT8889rwIAB6tGjh37xi19ICr9FEAgEtGfPHknS9OnTNX/+fK1evVrDhw/XsmXLEjxqxMK4ceO0atUqLV26VAMGDNDzzz/f7n62ik4jcHGBPn36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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import seaborn as sns\n",
    "import matplotlib.pyplot as plt\n",
    "import pandas as pd\n",
    "plt.rcParams['font.sans-serif'] = 'SimHei'\n",
    "'''\n",
    "# 加载示例数据集 数据集和该文件在同一级文件夹\n",
    "tips = sns.load_dataset(\"tips\")\n",
    "'''\n",
    "sns.swarmplot(x=\"周几\",y=\"消费金额 ($)\",data=tips)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ad6bd60e-5852-4a42-be5d-238fe2a968ce",
   "metadata": {},
   "source": [
    "6. pointplot（点图）\r\n",
    "用途: 显示不同类别的估计值（如均值），并添加置信区间。\r\n",
    "场景: 比较不同类别的均值或其他估计。\r"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "id": "4fd26aa1-41af-46b9-83c9-10bbbdeaffb4",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAi4AAAGtCAYAAAAxhv80AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAAA5fUlEQVR4nO3deViVdf7/8dc5rMpyEEVSARVFy1xKc8klW3Ty65LmaNkyk/n1p6mV1tRMNs5k5tdlMpu0wnRKK7NxNMulSVvUCk3NXEvMFQUkBUT2ReD8/jCPHgU5pIf73PB8XNe5LvncC288Ai8/222x2+12AQAAmIDV6AIAAABcRXABAACmQXABAACmQXABAACmQXABAACmQXABAACmQXABAACm4W10AddaaWmpTpw4oaCgIFksFqPLAQAALrDb7crOzlbDhg1ltZbfr1LtgsuJEycUGRlpdBkAAOA3SExMVERERLnHq11wCQoKknTuCw8ODja4GgAA4IqsrCxFRkY6fo+Xp9oFl/PDQ8HBwQQXAABMpqJpHkzOBQAApkFwAQAApkFwAQAApkFwAQAApkFwAQAApkFwAQAApkFwAQAApkFwAQAApkFwAQAApkFwAQAApkFwAQAApkFwAQAAplHtHrJYEw2J3ayUzAJJUgObv5aP6WpwRQAAuAfBpRpIySxQ8pl8o8sAAMDtGCoCAACmQXABAACmQXABAACmQXABAACmQXABAACmQXABAACmQXABAACmQXABAACmQXABAACmQXABAACmQXABAACmQXABAACmQXABAACmQXABAACmQXABAACmQXABAACmQXABAACmQXABAACmQXABAACmQXABAACmQXABAACmQXABAACmQXABAACmQXABAACmQXABAACmQXABAACmQXABAACmQXABAACmQXABAACm4W10AQAqZ0jsZqVkFkiSGtj8tXxMV4MrAoCqQ3ABTCYls0DJZ/KNLgMADMFQEQAAMA2CCwAAMA2CCwAAMA2CCwAAMA2CCwAAMA2CCwAAMA2CCwAAMA2CCwAAMA2CCwAAMA2CCwAAMA2CCwAAMA2CCwAAMA3DgsvKlSsVHR0tb29vde7cWfHx8VdsBwAAMCS4HD58WI8++qhmzJih5ORkNW7cWCNHjiy3HQAAQJK8jfik8fHxmjZtmu677z5J0pgxY9SnT59y2wEAACSD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TZs2TVOnTlWHDh30zTffaPny5dqxY4cWLFig+vXra8eOHZo8ebLatWunJk2aKCoqqirqB+DB/H289PKQtmofVefcYwFKzs1xKbVL/1j7s3YeP6NX7munYJ4yDcBFFfa4HD16VBs3blRBQYGOHz+ur7/+WnPmzNG8efM0ZswY7du3T19//bUSEhKUl5enjRs3KiEhoQpKB2AGFotFD3aO0rLHblWjEOe5LV/sO6l75sY5DScBwJVU2OPSs2dP9ezZU6dOndK6det044036quvvtLEiRP14osvKjk5We+++642bdqkIUOG6O9//3tV1A3AZNpFhmjNE901fukufXMg1dGekJ6ne9/cpOmD2+jemyOucAcAqMQcl7lz52rSpElq0aKF/vWvf+nFF1+UJKWnp2v37t0aMWKE3n77bbcVCsD86gT4auHwjnryrhin9oKzpXpq6W5N+mSvCotLDKoOgBm4vHOu1WrVQw89dFl727ZttXTp0mtaFIDqy8tq0dO9W+jmyBBNWLpLmfkXHguweMtx/ZicpTcfaq+GISyZBnC5Cntc/vGPf2j69Oku3WzHjh36n//5H1YKAKjQHdfX15onuuvGhsFO7bsSz6j/3DjFHUwzqDIAnqzC4DJhwgQdPHhQd999t3788ccyz8nLy9OUKVM0fPhwzZo1iw3oALgkMrS2PhrTVffd4jy35XRukf74zla9seGQSkv5jxCACyocKvL19dU777yjr776SmPHjlVOTo5uueUW1a9fX9nZ2Tp8+LAOHDigP/7xj9q2bZv8/dm5FYDr/H289I8h7dQ+qo7+vuonx2MBSu3Sy+t+1s7jGXrlvptkq8WSaQCVmONy11136a677tKpU6e0d+9epaamKjAwUCNHjlSbNm3cWSOAGmBYpyjd2NCmMR/8oKSMfEf7l/GnNGBunOY93EGtLhlWAlDzuBxczqtfv77uuusud9QCoIZrE2E7t2T637v09UVLpo+fPrdk+v/ubXPZTrwAahaXl0MDQFUIqX1uyfSEXjG6eLpcYXGpnlm2W89/zJJpoCYjuADwOFarRRN6tdDC4R0VUtt5bsuSrcd137zvlHwmv5yrAVRnBBcAHuv2lvW1+vHuatPI5tS+OylT/ed867QDL4CageACwKNFhtbWssdu1QOdIp3aM/LO6pGF2zT3q4MsmQZqEIILAI/n7+Ol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DFRISIiB1eO3ysnJUWxsrFq3bq0WLVpo/PjxOnXqlEvXHjlyRAcOHHDpIXUwVsuWLfXf//7X8XHDhg0df87JydE333wjHx8fI0ozBYKLCZw4cUL5+flq1qyZJk+erNtvv1133HGHJk+e7HReXl6e08c33HCDwsPDJZ0bV4c5lPd+jx8/XpMnT9bHH3+sVq1ayWazqaSkxOhycQ3VqVNH7dq1k3The7aszc0v/V6XpD/+8Y+EFpPw9fUtd8jnscceI7RUgKEiE1i6dKlGjhzp+Pi2225z/MO++BfX9u3bna5jEpc5lfd+r1y5Ul9//bWSkpK0efNmDRgw4LJrrVZrmb/oYA7lfc9aLJYrfq9LF3rdYG68jxUjuJhAr169tHnzZn344YdKTk7W5MmT1aBBA3Xp0kU//fSTMjIydPLkSc2aNcvoUnENlPd+n3f69Gl99tlneumlly4LKc2bN9fatWuVkpKir776qqpLh5tEREQoJSVFhw8fVm5u7mW9rUBNQnAxgTZt2mjhwoV64YUX1LJlS23YsEErV65U79691adPH7Vp00YDBgxwTNSEuZX3fg8fPlwxMTG64YYb9OKLL2r06NHav3+/CgoKHNfOmjVLa9euVdOmTfXiiy8a+FXgWmrWrJkmTJig7t27q3v37po0aZLRJQGG4enQAADANOhxAQAApkFwAQAApkFwAQAApkFwAQAApkFwAQAApkFwAQAApkFwAQAApsGzigAYql27dkpPT5e/v3+55yQkJGjXrl1q3bq1o+29997TI488ctm5K1as0L333uuWWgEYj+ACwFD+/v5asmSJbrvtNknSu+++K6vVqj/84Q+Oc6677jr5+fk5Xefn56e2bdtq69atjrbmzZsrKCioagoHYAiCCwBDeXt7y2KxqLCwUFarVYcPH5aXl5dKS0tVUlLieKDopU/MtVqt8vLyuqynxtubH2tAdcZ3OABDWa1WWa1WDRkyRBs3blRxcbEsFotee+013XnnnVq+fHm511osliqsFIAnILgAMFRpaaksFouWLVsmb29vTZ06Vd7e3vrrX/+q4uJiFRcXl3ldSUmJvLy8qrhaAEYjuAAwVG5urr777jv97ne/k5+fn6MX5dVXX1VRUZGef/75cq9jPgtQ87AcGoCh0tPTNXDgQOXk5Cg9PV1paWlKS0tTenq6srOzNXHixDKv++WXXxQZGVnF1QIwGsEFgGHy8vJ04sQJNWjQQM8995zq1Kmj5s2bq3nz5qpTp44mTZpU7rXbt29Xy5Ytq7BaAJ6A4ALAMHv27FF4eLgCAgLk7++v0aNH69ChQzp06JBGjx5d7gqhM2fOaN26derXr1+59y4uLlZpaam7SgdgEIILAMOsXr1anTt3liTl5+crNjZWTZo0UZMmTRQbG6uioqIyr3vllVfUtGlTtW3bttx779u3T127dlVaWppbagdgDCbnAjBEVlaWFi5cqKlTp0qSZs6cqZkzZzqdk5aWpsOHDys3N9fR+7JhwwbNnDlT69atu+ye3t7e2r59u1q3bq21a9fqyJEjCg0Ndf8XA6DKEFwAGCI1NVVRUVG6//77yz2nX79+io+PV8+ePdWoUSN9+umnGjx4sJ566indcccdl53/wAMP6Pnnn9ezzz6r4OBgvfDCC7Ja6VgGqhOL3W63G10EgJqptLT0isGiuLjYaZ7L2bNntWjRIo0cOZLN54AaiuACAABMgz5UAABgGgQXAABgGgQXAABgGgQXAABgGgQXAABgGgQXAABgGgQXAABgGgQXAABgGv8fFaYRzOG/d8QAAAAASUVORK5CYII=",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import seaborn as sns\n",
    "import matplotlib.pyplot as plt\n",
    "import pandas as pd\n",
    "plt.rcParams['font.sans-serif'] = 'SimHei'\n",
    "'''\n",
    "# 加载示例数据集 数据集和该文件在同一级文件夹\n",
    "tips = sns.load_dataset(\"tips\")\n",
    "'''\n",
    "sns.pointplot(x=\"周几\",y=\"消费金额 ($)\",data=tips)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "1e981fdc-2c82-42bd-97f1-e723ac35ba69",
   "metadata": {},
   "source": [
    "7. barplot（柱状图）\r\n",
    "用途: 显示不同类别的估计值及其置信区间。\r\n",
    "场景: 直观展示不同类别的估计值及其置信区间。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "id": "78d7ed41-db43-4f01-be81-f8584ecb4f61",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import seaborn as sns\n",
    "import matplotlib.pyplot as plt\n",
    "import pandas as pd\n",
    "plt.rcParams['font.sans-serif'] = 'SimHei'\n",
    "'''\n",
    "# 加载示例数据集 数据集和该文件在同一级文件夹\n",
    "tips = sns.load_dataset(\"tips\")\n",
    "'''\n",
    "sns.barplot(x=\"周几\",y=\"消费金额 ($)\",data=tips)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a3620f0d-2696-4e17-bad7-2458ec9ba677",
   "metadata": {},
   "source": [
    "8. countplot（计数图）\r\n",
    "用途: 显示不同类别的观测频数。\r\n",
    "场景: 统计和比较不同类别的频数。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "id": "23318771-9bf5-4881-8fb3-8f5744bfe6b9",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAi0AAAGtCAYAAADasUQ3AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAAAd6UlEQVR4nO3df5BV9X3/8ddlVxZRwN2GkIirEFAnBLGVUBlqUFO0tshIOk4T6cTijA1pJk1M7M6EaCuODuI3Bm0aQ6JjRYymSRNaNRZN4w/SNMWZzUQjWRpUQoJoE8XN7vLDVWC/f6RuswJGN8u99yOPx8z945495/C+c1z3Oeece2+lr6+vLwAAdW5YrQcAAHg9RAsAUATRAgAUQbQAAEUQLQBAEUQLAFAE0QIAFKGx1gMMlb179+aZZ57JqFGjUqlUaj0OAPA69PX1paenJ0cffXSGDXvtcylvmmh55pln0traWusxAIBB2LJlS4455pjXXOdNEy2jRo1K8qsXPXr06BpPAwC8Ht3d3Wltbe3/O/5a3jTR8solodGjR4sWACjM67m1w424AEARRAsAUATRAgAUQbQAAEUQLQBAEUQLAFAE0QIAFEG0AABFEC0AQBFECwBQBNECABRBtAAARRAtAEARRAsAUATRAgAUobHWA0A1TW9bVesR+F/f/8yFtR4BKIwzLQBAEUQLAFAE0QIAFEG0AABFEC0AQBFECwBQBNECABRBtAAARRAtAEARRAsAUATRAgAUQbQAAEUQLQBAEUQLAFAE0QIAFEG0AABFEC0AQBFECwBQBNECABRBtAAARRAtAEARRAsAUATRAgAUQbQAAEWoSbTcfvvtOfbYY3PkkUdmzpw52bx5c5Jk/fr1mTFjRpqbm9PW1pa+vr5ajAcA1KGqR8tTTz2Vyy67LP/6r/+ajo6OHHfccVm4cGF6e3szb968TJ8+Pe3t7eno6MjKlSurPR4AUKeqHi0/+MEPMnPmzJxyyik59thjc9FFF2Xjxo1Zs2ZNurq6snz58kyaNClLly7NLbfccsD99Pb2pru7e8ADAHjzqnq0TJkyJQ8++GB+8IMfpKurKzfeeGPOOuusPPbYY5k5c2ZGjhyZJJk2bVo6OjoOuJ9rrrkmY8aM6X+0trZW6yUAADVQk2g5//zzc8opp+Soo47KI488kuuuuy7d3d2ZOHFi/3qVSiUNDQ3p7Ozc734WL16crq6u/seWLVuq9RIAgBqoerSsW7cu99xzTx555JH09PTkggsuyJ/8yZ+ksbExTU1NA9YdMWJEdu7cud/9NDU1ZfTo0QMeAMCbV9Wj5atf/Wo+8IEP5Pd///dz5JFH5uqrr86mTZvS0tKS5557bsC6PT09GT58eLVHBADqUGO1/8Hdu3cPuOTT09OTHTt2pLGxMevWretfvnnz5vT29qalpaXaIwIAdajqZ1r+4A/+IKtXr87111+fO++8M/Pnz8+4cePysY99LF1dXVm1alWSZNmyZZkzZ04aGhqqPSIAUIeqfqbl/e9/f3784x/nhhtuyLPPPpupU6dm9erVOeyww3LTTTdlwYIFaWtry549e7J27dpqjwcA1KlKX5197OzWrVvT3t6eWbNmZezYsa97u+7u7owZMyZdXV1uyuWApretqvUI/K/vf+bCWo8A1IE38ve76mdafpPx48dn/PjxtR4DAKgzvjARACiCaAEAiiBaAIAiiBYAoAiiBQAogmgBAIogWgCAIogWAKAIdffhctXmE1Lrh09IBeC1ONMCABRBtAAARRAtAEARRAsAUATRAgAUQbQAAEUQLQBAEUQLAFAE0QIAFEG0AABFEC0AQBFECwBQBNECABRBtAAARRAtAEARRAsAUATRAgAUQbQAAEUQLQBAEUQLAFAE0QIAFEG0AABFEC0AQBFECwBQBNECABRBtAAARRAtAEARRAsAUATRAgAUQbQAAEUQLQBAEUQLAFAE0QIAFEG0AABFEC0AQBFECwBQBNECABRBtAAARRAtAEARRAsAUATRAgAUQbQAAEUQLQBAEUQLAFAE0QIAFEG0AABFEC0AQBFECwBQBNECABRBtAAARRAtAEARRAsAUATRAgAUQbQAAEUQLQBAERprPQDAwTK9bVWtR+B/ff8zF9Z6BN4EnGkBAIogWgCAIogWAKAINY2WT33qU5k3b17/8/Xr12fGjBlpbm5OW1tb+vr6ajgdAFBPahYt69evzxe+8IXccMMNSZLe3t7Mmzcv06dPT3t7ezo6OrJy5cpajQcA1JmaREtfX18WLVqUSy65JJMmTUqSrFmzJl1dXVm+fHkmTZqUpUuX5pZbbqnFeABAHapJtNx888159NFHM3HixHzzm9/Myy+/nMceeywzZ87MyJEjkyTTpk1LR0fHAffR29ub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vXvzwgsv5Hd+53dSqVSqMm896O7uTmtra7Zs2ZLRo0fXehwOMsf70OJ4H1oO1ePd19eXnp6eHH300b9x3bqKlpaWlqxfv37Asp6engwfPnyfdZuamvYJnKOOOupgjlfXRo8efUj9R36oc7wPLY73oeVQPN5jxox5XevV1Y24M2bMyLp16/qfb968Ob29vWlpaanhVABAPairaJk9e3a6urqyatWqJMmyZcsyZ86cNDQ01HgyAKDW6uryUGNjY2666aYsWLAgbW1t2bNnT9auXVvrsepaU1NTrrjiin0ulfHm5HgfWhzvQ4vj/ZvV1buHXrF169a0t7dn1qxZGTt2bK3HAQDqQF1GCwDAq9XVPS0AAAciWgCAIoiWOvfII49k+vTpGTVqVObMmZOtW7fWeiQOIsf7zW3lypWpVCr7PB5++OFMmDCh1uNxEB3o2H/729/+jdv67+P/iJY6tnPnzpx33nn56Ec/mo6OjowaNSof/ehHaz0WB8lvc7wnTJiQhx9++OAOyG9twYIF6ezszHe+850kSWdnZzo7O7N79+4aT0Y1TJ06tf+Yv/I444wzfuN2p512Wn74wx8e/AELIFrq2IYNG9LZ2ZmLLroora2tueKKKw6pryg41Djeb37Dhw/PUUcdlVGjRiX51ad4H3XUUWlsrKtPn+AgaWho6D/mb+TYNzY2HnKfkHsgoqWOtba2plKpZMmSJXn55Zfzu7/7u1m9enVWrlw5oM43b97c/8ftlZ/dfPPNGTduXN761rfm61//eo1eAW/EgY53kqxevTonnHBCjjjiiJx55pn9l43OOeecVCqV/PSnP82ZZ56ZSqWSZcuW1fJl8Fu4++67c9xxx6W5uTmf+9znkuz/0kClUsnmzZuTJAsXLsySJUvy5S9/OSeeeGI+//nPV3lqfltnnHFGVq5cmeXLl+e4447L3XffPeDnLg/9H9FSx9761rfmy1/+cm644YYcf/zx/Z8U/Jv86Ec/yje+8Y1897vfzcKFCwd8sST160DH+4UXXsgFF1yQyy+/PE8++WRaWlpy9dVXJ0m+8Y1vpLOzM62trbnnnnvS2dmZT3ziE7V8GQzStm3bsmzZstx777258sor09bWll27dr2ube+///584QtfyPLlyzN//vyDOyiD9vjjjw84y/L444/3/+xLX/pSHnzwwdx8882ZNWtWDaesb85J1rnzzz8/Z511Vq6//vosWrQojz76aKZNm/aa22zfvj233XZbxo0bl4svvjif+cxnqjQtv639He9rr702P/vZzzJq1Ki0t7fnpZdeysaNG5MkRxxxRJJk2LBhOfLIIw/pLw0t3fbt27NixYpMnTo1J5xwQj7+8Y/nF7/4xevadtOmTdm4cePr/tI5auPEE0/Mv/3bv/U///VvNd6+fXu+853v5LDDDqvFaMUQLXXsmWeeya5duzJp0qQsWbIkZ5xxRs4888wsWbJkwHo7d+4c8Pyd73xnxo0blyT7/YZs6tOBjvfHP/7xLFmyJP/yL/+SKVOmZMyYMdmzZ0+tx2WINTc35+STT07yf7+3+/vsz1f/vifJhRdeKFgKMHz48ANe5vnwhz8sWF4Hl4fq2Fe/+tVcfPHF/c9nz57d/x/1r//Ram9vH7CdG7bKdKDjfdddd2Xt2rV5+umn873vfS/z5s3bZ9thw4bt9w8c5TjQ722lUnnN3/fk/864US7H8PURLXVszpw5+d73vpevfOUr2bp1a5YsWZK3v/3tmTlzZn70ox+ls7MzP//5z3PdddfVelSGwIGO9yteeOGFrFmzJlddddU+gTJ58uTcd999efbZZ/PAAw9Ue3QOomOOOSbPPvtsnnrqqezYsWOfM61wKBEtdeykk07KrbfemiuuuCInnnhiHnroodx1110566yzcs455+Skk07KvHnz+m/KpGwHOt4LFy7M8ccfn3e+85258sors2jRovz3f/93Xnzxxf5tr7vuutx3332ZOHFirrzyyhq+CobapEmTcskll+S0007Laaedlssvv7zWI0HN+MJEAKAIzrQAAEUQLQBAEUQLAFAE0QIAFEG0AABFEC0AQBFECwBQBN89BNTMySefnG3btmXEiBEHXGfz5s159NFHM3Xq1P5lq1atyl/8xV/ss+7q1avzvve976DMCtSeaAFqZsSIEbnzzjsze/bsJMltt92WYcOG5YMf/GD/Om9729vS1NQ0YLumpqZMmzYtjzzySP+yyZMnZ9SoUdUZHKgJ0QLUTGNjYyqVSnp7ezNs2LA89dRTaWhoyN69e7Nnz57+Lwh99bffDhs2LA0NDfucoWls9L80eDPzGw7UzLBhwzJs2LCcf/75efjhh7N79+5UKpX8/d//fd773vfm61//+gG3rVQqVZwUqAeiBaiZvXv3plKp5J//+Z/T2NiYq6++Oo2Njbnsssuye/fu7N69e7/b7dmzJw0NDVWeFqg10QLUzI4dO/Jf//VfOfvss9PU1NR/9uT666/PSy+9lE9/+tMH3M79K3Do8ZZnoGa2bduW8847L9u3b8+2bdvy/PPP5/nnn8+2bdvS09OTxYsX73e7//mf/0lra2uVpwVqTbQANbFz584888wzefvb355PfepTaW5uzuTJkzN58uQ0Nzfn8ssvP+C27e3tOfHEE6s4LVAPRAtQEz/84Q8zbty4HHHEERkxYkQWLVqUJ598Mk8++WQWLVp0wHcC/fKXv8z999+fuXPnHnDfu3fvzt69ew/W6ECNiBagJu65556ceuqpSZJdu3ZlxYoVmTBhQiZMmJAVK1bkpZde2u92n/3sZzNx4sRMmzbtgPvu6OjIrFmz8vzzzx+U2YHacCMuUHXd3d259dZbc/XVVydJrr322lx77bUD1nn++efz1FNPZceOHf1nXR566KFce+21uf/++/fZZ2NjY9rb2zN16tTcd9992bRpU1paWg7+iwGqRrQAVffcc8/l2GOPzfvf//4DrjN37txs2LAhp59+esaPH5977703f/qnf5pPfOITOfPMM/dZ/4ILLsinP/3ptLW1ZfTo0bniiisybJiTyfBmUunr6+ur9RDAoWfv3r2vGRW7d+8ecF/Lyy+/nJUrV+biiy/2wXJwiBItAEARnDsFAIogWgCAIogWAKAIogUAKIJoAQCKIFoAgCKIFgCgCKIFACjC/weEt6fikRVZHAAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import seaborn as sns\n",
    "import matplotlib.pyplot as plt\n",
    "import pandas as pd\n",
    "plt.rcParams['font.sans-serif'] = 'SimHei'\n",
    "'''\n",
    "# 加载示例数据集 数据集和该文件在同一级文件夹\n",
    "tips = sns.load_dataset(\"tips\")\n",
    "'''\n",
    "sns.countplot(x=\"周几\",data=tips)\n",
    "plt.show()"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.12.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
